# FileCopier
Copy files from one computer to another to make a backup. Only copies changed files. Also finds moved files.

FileCopier options SourceFolder TargetFolder
Copies all the source files to the destination directory.
Only changed files are copied.
Files are the same if they have the same name, the same size, and the same last modified date.
Recurses subdirectories.
Extra files in the destination are not deleted.
Example:
FileCopier "C:\Games\" M:\
FileCopier -L C:\Games M:\
FileCopier -M -D -S 99 C:\Games M:\
Options:

-L Only list the changes. Don't actually copy or delete or move files. Used for testing.

-D Delete files in the target that aren't in the source.
If this option is omitted, files in the target that aren't in the source are left there.

-S number Set the copy speed from 1 to 100 with 100 being the fastest. 
Used to slow the copy down so the user can use the computer easier. Default is 100 if omitted.

-M Look for moved files to move them instead of copy them.
They will be moved in the target folder instead of being copied.
For -M, files are the same if the have the same name, same size, and same last modified date.
This option is because sometimes files are moved to different folders within the source folder
so they should only be moved instead of copied within folders in the target folder.

-T Test reading the source directory. Output the file name, file size, last modified date.

To compile the project in Windows, use Visual Studio 2022. Open FileCopier.sln
To compile the project in Linux, CD to the FileCopier folder and use make.
